# @Author：silence
# @Email：792245022@qq.com
# @Date：2025/2/26 2:05

"""
1、程序可以通过创建新的异常类命名自己的异常，不论是以直接还是间接的方式，异常都应从 Exception 类派生
2、异常类通常应当保持简单，它往往只提供一些属性，允许相应的异常处理程序提取有关错误的信息
3、大多数异常命名都以 "Error" 结尾，类似标准异常的命名方式，但是需要注意不要使用内置异常名
"""

class AgeError(Exception):

    def __init__(self, value):
        self.value = value

while True:
    try:
        age = int(input("请输入年龄（18-120）："))
        if not (18 <= age <= 120):
            raise AgeError("年龄不在范围内")
    except ValueError as _:
        print("你输入的不是整数")
    except AgeError as ae:
        print(ae)
    else: break
